#ifndef _MY_OSTREAM_ITERATOR_TCC_
#define _MY_OSTREAM_ITERATOR_TCC_

template<typename T, typename CharT, typename Traits>
my_ostream_iterator<T, CharT, Traits>::my_ostream_iterator(ostream_type& os, const char_type* delim) {
	this->os = &os;
	this->delim = delim;
}

template<typename T, typename CharT, typename Traits>
my_ostream_iterator<T, CharT, Traits>::my_ostream_iterator(ostream_type& os) {
	this->os = &os;
	this->delim = 0;
}

template<typename T, typename CharT, typename Traits>
my_ostream_iterator<T, CharT, Traits>::~my_ostream_iterator() {
	// bloc vide
}

template<typename T, typename CharT, typename Traits>
my_ostream_iterator<T, CharT, Traits>& my_ostream_iterator<T, CharT, Traits>::operator = (const T& value) {
	os->operator << (value);
	operator << (*os, delim);
}

template<typename T, typename CharT, typename Traits>
my_ostream_iterator<T, CharT, Traits>& my_ostream_iterator<T, CharT, Traits>::operator * () {
	return *this;
}

template<typename T, typename CharT, typename Traits>
my_ostream_iterator<T, CharT, Traits>& my_ostream_iterator<T, CharT, Traits>::operator ++ () {
	return *this;
}

template<typename T, typename CharT, typename Traits>
my_ostream_iterator<T, CharT, Traits>& my_ostream_iterator<T, CharT, Traits>::operator ++ (int) {
	return *this;
}

#endif

